﻿/************************************************************************
** 文  件：
**	SystemConfig.h
** 功  能：
**	提供系统配置的加载和初始化
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2020/10/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2020/10/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include <boost/serialization/singleton.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ptree_fwd.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/property_tree/json_parser.hpp>
#include "../config/LocalConf.h"
#include "../config/DBConf.h"
#include "../config/BoxConf.h"

class SystemConfig
	: public boost::serialization::singleton<SystemConfig>
{
public:
	SystemConfig(void);
	virtual ~SystemConfig(void);

public:
	bool LoadConfig();
	void SaveConfig();

public:
	LocalConf& GetLocalConf();
	DBConf& GetDBConf();
	BoxConf& GetBoxConf();

protected:
	std::string m_config_file;
	LocalConf	m_local_config;
	DBConf	m_db_config;
	BoxConf	m_box_config;
};
